package com.neusoft.yiyang.common.entity.customer;

import com.baomidou.mybatisplus.annotation.FieldStrategy;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.neusoft.yiyang.common.enums.BloodType;
import com.neusoft.yiyang.common.enums.Gender;
import lombok.Data;

import java.util.Date;

@Data
@TableName("customer")
public class Customer {

    @TableId
    private Integer customerId;  // 客户ID

    private String customerName; // 客户姓名
    private Gender gender;       // 性别（使用枚举：M/F）
    @JsonFormat(pattern = "yyyy-MM-dd", timezone = "GMT+8")
    private Date birthDate;      // 出生日期（使用Date类型，数据库中为DATE）
    private String idCard;       // 身份证号
    private BloodType bloodType; // 血型（使用枚举：A/B/AB/O/Other）
    private String familyName;   // 家属姓名
    private String familyPhone;  // 家属电话
    @TableField(updateStrategy = FieldStrategy.ALWAYS)
    private Integer caretakerId; // 健康管家ID（关联用户表）
    private Integer careLevelId; // 护理级别ID
    private Integer bedId;       // 床位ID
    private Integer dietTagId;   // 饮食标签ID
    @JsonFormat(pattern = "yyyy-MM-dd", timezone = "GMT+8")
    private Date checkInDate;    // 入住日期（使用Date类型，数据库中为DATE）
    @JsonFormat(pattern = "yyyy-MM-dd", timezone = "GMT+8")
    private Date contractEndDate; // 合同到期日期（使用Date类型，数据库中为DATE）
    private Integer customerType; // 1 表示护理老人，0 表示自理老人
    private Integer isDeleted;   // 逻辑删除标记

    @JsonFormat(pattern = "yyyy-MM-dd", timezone = "GMT+8")
    private Date expectedCheckInDate;
    private Integer isMoneyed;

}
